package org.springblade.modules.admin.dto.erp.serivce;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * @author Sharry
 * @since 2024-12-31
 */
@Data
public class PartnerCloudPartsSkuMessageDTO {

	/**
	 * 2025-06 系统id，对应blade_sku_info表的id字段
	 */
	private String systemId;

	/**
	 * 2025-06 配件编号字段，skuKey
	 */
	private String skuKey;

	/**
	 * 2025-06 版本号
	 */
	private String version;

	/**
	 * 类目属性编号
	 * 2025-06 为 blade_sku_info表的spu_code字段拼接`code`字段
	 */
	private String categoryPropertyCode;

	/**
	 * 2025-06 商品名称，对应blade_sku_info表的`name`字段
	 */
	private String skuName;

	/**
	 * 2025-06 对应blade_sku_info表的 attr JSON字段解析
	 * 规格型号，关键属性+销售属性
	 * SPECIFICATION_AND_MODEL
	 */
	private String specificationAndModel;

	/**
	 * 2025-06 对应blade_sku_info表的 sku_picture字段原值
	 */
	private String skuPicture;

	/**
	 * 2025-06 对应blade_sku_info表的 sku_picture字段原值列表
	 */
	private List<String> skuPictureList;

	/**
	 * 2025-06 对应blade_sku_info表的 sku_picture字段解析
	 * sku图片附件伙伴云格式
	 */
	private List<Map<String, String>> partnerCloudSKUPicture;

	/**
	 * 电气/机械件原值
	 */
	private Integer mechanicalType;

	/**
	 * 电气/机械件，原值对应名称
	 * 2025-06 为 对应配件商城数据库，blade_sku_info表的 mechanical_type字段，其中电器机械类型[0-电气，1-机械，2-电气+机械，3-工具，4-消耗]
	 */
	private String mechanicalTypeName;

	/**
	 * 2025-06 对应 blade_sku_info表的`parts_type`字段
	 * 配件类型原值
	 */
	private Integer partsType;

	/**
	 * 配件类型，原值对应名称
	 */
	private String partsTypeName;

	/**
	 * 2025-06 对应category表的`type`字段 类型[0=非标件，1-标准件], 配件商城SQL中做了处理
	 * 标件/非标件原值，由于当前版本伙伴云是category类型，因此可直接使用原值匹配，id=1标品，id=2非标品
	 */
	private String standardType;

	/**
	 * 标件/非标件伙伴云选择值
	 */
	private List<String> standardTypeList;

	/**
	 * 2025-06 对应对应category表的`name`字段
	 * 类型名称
	 */
	private String categoryName;

	/**
	 * 2025-06 对应 spu 表的`type`字段原值
	 * 类型[0-原厂，1-A货，2-兼容，3-OEM，4-白牌，5-项目列表]
	 */
	private Integer type;

	/**
	 * 2025-06 对应 spu 表的`type`字段值
	 */
	private String typeName;

	/**
	 * 2025-06 对应 brand 表的品牌名称
	 * 品牌名称
	 */
	private String brandName;

	/**
	 * 2025-06 对应 blade_sku_info表的`specifications`字段
	 * 包装规格
	 */
	private String specifications;

	/**
	 * 2025-06 通过SPU连表查询`unit_name`字段
	 * 计量单位
	 */
	private String unitName;

	/**
	 * 2025-06 对应兼容件的表
	 * 替代兼容件,多个;隔开
	 */
	private String substituteSkuKeyStr;

	/**
	 * 2025-06 对应 blade_sku_info表的`parts_file_url`字段
	 * 商品资料附件原值
	 */
	private String partsFileUrl;

	/**
	 * 2025-06 对应 blade_sku_info表的`parts_file_url`字段
	 * 商品资料附件原值列表
	 */
	private List<String> partsFileUrlList;

	/**
	 * 2025-06 对应 blade_sku_info表的`parts_file_url`字段
	 * 商品资料附件伙伴云格式
	 */
	private List<Map<String, String>> partnerCloudPartsFileUrl;

	/**
	 * 伙伴云不需要但销售属性需要,中间数据用于拼接
	 */
	private String attrs;

	/**
	 * 2025-06 替代兼容件id列表
	 */
	List<String> skuSubstituteIdList;

}
